table of contents
CONNECT(2) | Linux - příručka programátora | CONNECT(2) |
JMÉNO¶
connect - inicializuj spojení soketu
SYNTAXE¶
#include <sys/types.h>
#include <sys/socket.h>
int connect(int sockfd, struct sockaddr *serv_addr, int addrlen );
POPIS¶
Parametr sockfd je soket. Je-li jeho typ SOCK_DGRAM, potom toto volání specifikuje, kam má tento soket standardně posílat data. Tato adresa je jediným místem, odkud a kam budou přijímány, resp. posílány datagramy. Je-li typ soketu SOCK_STREAM , potom se toto volání pokusí navázat spojení s jiným soketem, který je specifikován v serv_addr, což je adresa v jmenném prostoru soketu. Každý jmenný prostor interpretuje adresu v serv_addr podle svého. Obvykle se mohou proudové sokety spojit pouze jednou; datagramové sokety mohou použít volání connect vícekrát. Datagramové sokety mohou zrušit asociovaný soket tak, že se pokusí spojit s nějakou neplatnou adresou (nebo s adesou NULL).
NÁVRATOVÁ HODNOTA¶
Je-li spojení navázáno, je vrácena 0, jinak -1 a externí proměnná errno je příslušně nastavena.
CHYBY¶
Tento seznam je pouze všeobecný. Mohou existovat další specifické chyby pro použitý jmenný prostor.
- EBADF
- Špatný deskriptor.
- EFAULT
- Adresa soketu je mimo adresový prostor procesu.
- ENOTSOCK
- Deskriptor není platným deskriptorem soketu.
- EISCONN
- Soket je již spojen.
- ECONNREFUSED
- Spojení bylo serverem odmítnuto.
- ETIMEDOUT
- Časový limit pro spojení vypršel.
- ENETUNREACH
- Síť není dosažitelná.
- EADDRINUSE
- Adresa je již používána.
SPLŇUJE STANDARDY¶
SVr4, 4.4BSD (volání connect se poprvé objevilo v BSD 4.2). SVr4 dokumentuje další chybové kódy: EADDRNOTAVAIL, EINVAL, EAFNOSUPPORT, EALREADY, EINTR, EPROTOTYPE, ENOSR.
DALŠÍ INFORMACE¶
VAROVÁNͶ
Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/
5. dubna 1997 | Linux 0.99.11 |